perm filename READ.MCL[206,LSP] blob sn#335137 filedate 1978-02-13 generic text, type T, neo UTF8

(DEFUN READB (U) 
       (COND ((EQ (CAR U) 'LP) (CAR (READA (CDR U) NIL)))
	     (T (CAR U))))

(DEFUN READA (U L) 
       (COND ((NULL U) (CONS (REV1 L 'ERROR) NIL))
	     ((EQ (CAR U) 'RP) (CONS (REVERSE L) (CDR U)))
	     ((EQ (CAR U) 'LP)
	      ((LAMBDA (W) (READA (CDR W) (CONS (CAR W) L)))
	       (READA (CDR U) NIL)))
	     ((EQ (CAR U) 'DOT)
	      ((LAMBDA (W) (CONS (REV1 L (CAAR W)) (CDR W)))
	       (READA (CDR U) NIL)))
	     (T (READA (CDR U) (CONS (CAR U) L)))))

(DEFUN PRINA (E L) 
       (COND ((ATOM E) (CONS E L))
	     (T (CONS 'LP
		      (PRINA (CAR E)
			     (CONS 'DOT
				   (PRINA (CDR E)
					  (CONS 'RP L))))))))

(DEFUN PRINB (E L) 
       (COND ((ATOM E) (CONS E L))
	     (T (CONS 'LP
		      (COND ((NULL (CDR E))
			     (PRINB (CAR E) (CONS 'RP L)))
			    ((ATOM (CDR E))
			     (PRINB (CAR E)
				    (CONS 'DOT
					  (CONS (CDR E)
						(CONS 'RP
						      L)))))
			    (T (PRINB (CAR E)
				      (CDR (PRINB (CDR E) L)))))))))

(DEFUN REV1 (U V) 
       (COND ((NULL U) V) (T (REV1 (CDR U) (CONS (CAR U) V)))))